//
//  BDPostCommentLayout.h
//  BadBoy
//
//  Created by wen on 2017/9/6.
//  Copyright © 2017年 com.8xiong. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "BDPostCommentModel.h"

#define kBDCommentProfileHeight 56 // cell 名片高度
#define kBDCommentCoverWidth 40     //cell 用户头像大小
#define kBDCommentNameWidth (kScreenWidth - 110) // cell 名字最宽限制
#define kBDCommentNamePaddingLeft 14 // cell 名字和 avatar 之间留白
#define kBDCommentCellPadding 12       // cell 内边距
#define kBDCommentBottomMargin 10 // cell 下方灰色留白
#define kBDCommentPaddingText 8   // cell 文本与其他元素间留白
#define kBDCommentContentWidth (kScreenWidth - kBDCommentCellPadding * 2 - kBDCommentCoverWidth - kBDCommentNamePaddingLeft)

#define kBDCommentNameFontSize 14      // 名字字体大小
#define kBDCommentSourceFontSize 12    // 来源字体大小
#define kBDCommentTextFontSize 14      // 文本字体大小
#define kBDCommentTextFontReplySize 14 // 转发字体大小

#define kBDCommentNameNormalColor [UIColor colorWithHexString:@"#333333"] // 名字颜色
#define kBDCommentNameOrangeColor [UIColor colorWithHexString:@"#f26220"] // 橙名颜色 (VIP)
#define kBDCommentTimeNormalColor [UIColor colorWithHexString:@"#828282"] // 时间颜色
#define kBDCommentTextNormalColor [UIColor colorWithHexString:@"#1c1c1c"] // 一般文本色
#define kBDCommentTextHighlightColor [UIColor colorWithHexString:@"#527ead"] // Link 文本色
#define kBDCommentTextHighlightBackgroundColor [UIColor colorWithHexString:@"#bfdffe"]// Link 点击背景色
#define kBDCommentBackgroundColor [UIColor colorWithHexString:@"#f2f2f2"]// Cell背景灰色

@interface BDPostCommentLayout : NSObject

- (instancetype)initWithComment:(BDPostCommentModel *)comment;
- (void)layout; ///< 计算布局

@property (nonatomic, strong) BDPostCommentModel *comment;

// 个人资料
@property (nonatomic, assign) CGFloat profileHeight; //个人资料高度(包括留白)
@property (nonatomic, strong) YYTextLayout *nameTextLayout; // 名字
@property (nonatomic, strong) YYTextLayout *sourceTextLayout; //时间/来源

// 文本
@property (nonatomic, assign) CGFloat commentHeight; //文本高度(包括下方留白)
@property (nonatomic, strong) YYTextLayout *commentLayout; //文本

//回复
//这里不能把回复看成是一个label，因为整体是存在点击事件的，就必须要看成是一个tableview，所以要能单独计算每个cell的高度和文本
@property (nonatomic, strong) NSMutableArray<NSNumber *> *replyHeight; //文本高度(包括下方留白)
@property (nonatomic, strong) NSMutableArray<YYTextLayout *> *replyLayout; //文本

@property (nonatomic, assign) CGFloat replyTableViewHeight;//回复部分tableView的高度

@property (nonatomic, assign) CGFloat marginBottom;
@property (nonatomic, assign) CGFloat height;

@end
